package com.tancire.member.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tancire.common.annotation.Excel;
import com.tancire.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 会员奖品对象 member_train_award
 *
 * @author tancire
 * @date 2024-10-23
 */
public class MemberTrainAward extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 所属会员
     */
    @Excel(name = "所属会员")
    private Long memberId;

    /**
     * 会员名称 回显用
     */
    private String memberName;

    /**
     * 活动ID
     */
    @Excel(name = "活动ID")
    private Long activityId;

    /**
     * 活动名称
     */
    @Excel(name = "活动名称")
    private String activityName;

    /**
     * 兑换码
     */
    @Excel(name = "兑换码")
    private String awardCode;

    /**
     * 奖品等级
     */
    @Excel(name = "奖品等级")
    private String awardLevel;

    /**
     * 奖品说明
     */
    @Excel(name = "奖品说明")
    private String awardContent;

    /**
     * 是否兑奖 0 否 1 是
     */
    @Excel(name = "是否兑奖 0 否 1 是")
    private Integer awardStatus;

    /**
     * 兑换时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "兑换时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date redeemTime;

    /**
     * 备注说明
     */
    @Excel(name = "备注说明")
    private String awardRemark;

    /**
     * 收件人姓名
     */
    @Excel(name = "收件人姓名")
    private String recipientName;

    /**
     * 收件人手机号
     */
    @Excel(name = "收件人手机号")
    private String recipientPhone;

    /**
     * 收件地址
     */
    @Excel(name = "收件地址")
    private String recipientAddress;

    /**
     * 快递单号
     */
    @Excel(name = "快递单号")
    private String recipientOrder;

    /**
     * 0 正常  1 删除  真删除，字段保留
     */
    private Long delFlag;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public Long getMemberId() {
        return memberId;
    }

    public void setActivityId(Long activityId) {
        this.activityId = activityId;
    }

    public Long getActivityId() {
        return activityId;
    }

    public void setActivityName(String activityName) {
        this.activityName = activityName;
    }

    public String getActivityName() {
        return activityName;
    }

    public void setAwardCode(String awardCode) {
        this.awardCode = awardCode;
    }

    public String getAwardCode() {
        return awardCode;
    }

    public void setAwardLevel(String awardLevel) {
        this.awardLevel = awardLevel;
    }

    public String getAwardLevel() {
        return awardLevel;
    }

    public void setAwardContent(String awardContent) {
        this.awardContent = awardContent;
    }

    public String getAwardContent() {
        return awardContent;
    }

    public void setAwardStatus(Integer awardStatus) {
        this.awardStatus = awardStatus;
    }

    public Integer getAwardStatus() {
        return awardStatus;
    }

    public void setRedeemTime(Date redeemTime) {
        this.redeemTime = redeemTime;
    }

    public Date getRedeemTime() {
        return redeemTime;
    }

    public void setAwardRemark(String awardRemark) {
        this.awardRemark = awardRemark;
    }

    public String getAwardRemark() {
        return awardRemark;
    }

    public void setRecipientName(String recipientName) {
        this.recipientName = recipientName;
    }

    public String getRecipientName() {
        return recipientName;
    }

    public void setRecipientPhone(String recipientPhone) {
        this.recipientPhone = recipientPhone;
    }

    public String getRecipientPhone() {
        return recipientPhone;
    }

    public void setRecipientAddress(String recipientAddress) {
        this.recipientAddress = recipientAddress;
    }

    public String getRecipientAddress() {
        return recipientAddress;
    }

    public void setRecipientOrder(String recipientOrder) {
        this.recipientOrder = recipientOrder;
    }

    public String getRecipientOrder() {
        return recipientOrder;
    }

    public void setDelFlag(Long delFlag) {
        this.delFlag = delFlag;
    }

    public Long getDelFlag() {
        return delFlag;
    }

    public String getMemberName() {
        return memberName;
    }

    public void setMemberName(String memberName) {
        this.memberName = memberName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("memberId", getMemberId())
                .append("activityId", getActivityId())
                .append("activityName", getActivityName())
                .append("awardCode", getAwardCode())
                .append("awardLevel", getAwardLevel())
                .append("awardContent", getAwardContent())
                .append("awardStatus", getAwardStatus())
                .append("redeemTime", getRedeemTime())
                .append("awardRemark", getAwardRemark())
                .append("recipientName", getRecipientName())
                .append("recipientPhone", getRecipientPhone())
                .append("recipientAddress", getRecipientAddress())
                .append("recipientOrder", getRecipientOrder())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("updateTime", getUpdateTime())
                .append("updateBy", getUpdateBy())
                .append("delFlag", getDelFlag())
                .toString();
    }
}
